// 8.4、分页获取居民列表
// 接口地址：admin/household/list
// 请求方式：GET
// 请求头部：token - 管理员登录后保存在客户端的身份凭证  
// 请求参数： 
// 名称	必填	类型	说明
// pageNum	非必需	number	默认值为1；要查询的页号
// kw	非必需	string	待查询的居民姓名关键字
import { baseUrl } from "./login"
export const getHouseholdListApi = (pageNum = 1, kw) =>
  fetch(`${baseUrl}/admin/household/list?pageNum=${pageNum}${kw ? `&kw=${kw}` : ''}`, {
    method: 'GET',
    headers: {
      token: localStorage.getItem('adminToken')
    }
  })


// 8.5、查询特定居民详情
// 接口地址：admin / household / details
// 请求方式：GET
// 请求头部：token - 管理员登录后保存在客户端的身份凭证
// 请求参数： 
// 名称	必填	类型	说明
// hid	必需	number	待查询的居民编号
export const getAdminHouseholdDetailsApi = (hid) => {
  return fetch(`${baseUrl}admin/household/details?hid=${hid}`, {
    method: 'GET',
    headers: {
      token: localStorage.getItem('adminToken')
    }
  })
}


// 8.6、删除特定居民记录
// 接口地址：admin/household/delete
// 请求方式：GET
// 请求头部：token - 管理员登录后保存在客户端的身份凭证
// 请求参数： 
// 名称	必填	类型	说明
// hid	必需	number	待删除的居民编号
export const deleteAdminHouseholdApi = (hid) => {
  return fetch(`${baseUrl}admin/household/delete?hid=${hid}`, {
    method: 'GET',
    headers: {
      token: localStorage.getItem('adminToken')
    }
  })
}

// 8.7、修改特定居民记录
// 接口地址：admin/household/udpate
// 请求方式：POST
// 请求头部：token - 管理员登录后保存在客户端的身份凭证
// 请求参数： 
// 名称	必填	类型	说明
// hid	必需	number	待修改的居民编号
// householdId	可选	string	待修改的居民户号
// householdName	可选	string	待修改的居民姓名
// householdAddr	可选	string	待修改的居民住址
// gender	可选	0或1	待修改的性别
// phone	可选	string	待修改的电话
// idNum	可选	string	带修改的身份证号
export const updateAdminHouseholdApi = (hid, householdName, gender, phone, address) => {
  return fetch(`${baseUrl}admin/household/update`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      token: localStorage.getItem('adminToken')
    },
    body: JSON.stringify({
      hid: hid,
      householdName: householdName,
      gender: gender,
      phone: phone,
      householdAddr: address
    })
  });
};

// 8.8、添加新的居民记录
// 接口地址：admin/household/add
// 请求方式：POST
// 请求头部：token - 管理员登录后保存在客户端的身份凭证
// 请求参数： 
// 名称	必填	类型	说明
// householdId	必需	string	待添加的居民户号
// householdName	必需	string	待添加的居民姓名
// householdAddr	可选	string	待添加的居民住址
// gender	必需	0或1	待添加的性别
// phone	必需	string	待添加的电话
// idNum	可选	string	带添加的身份证号
export const addAdminHouseholdApi = (householdId, householdName, gender, phone, address) => {
  return fetch(`${baseUrl}admin/household/add`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      token: localStorage.getItem('adminToken')
    },
    body: JSON.stringify({
      householdId: householdId,
      householdName: householdName,
      gender: gender,
      phone: phone,
      householdAddr: address
    })
  })
}

// 8.9、批量删除多条居民记录
// 接口地址：admin/household/batch/delete
// 请求方式：POST
// 请求头部：token - 管理员登录后保存在客户端的身份凭证
// 请求参数： 
// 名称	必填	类型	说明
// ——	必需	array	包含所有待删除hid的数组，例如：[3, 11, 25]
export const batchDeleteAdminHouseholdApi = (hids) => {
  return fetch(`${baseUrl}admin/household/batch/delete`, {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      token: localStorage.getItem('adminToken')
    },
    body: JSON.stringify({
      hidsArray: hids
    })
  })
}